const path = require("path")
const HtmlWebpackPlugin = require("html-webpack-plugin")
const {CleanWebpackPlugin} = require("clean-webpack-plugin")

module.exports = {
    mode:"development",//開發環境
    devtool: 'inline-source-map',
    entry:{
        app:'./src/index.js',
        print:'./src/print.js'
    },
    output:{
        filename:'[name].[hash].bundle.js',
        path:path.resolve(__dirname,"static")
    },
    plugins:[
        new CleanWebpackPlugin({
            dry: true,//#默认false dry为true时，模拟删除，加删除，不会真的删掉文件
            verbose:false, //# 默认false verbose为true时 显示日志， 当dry为true时，总是会打印日志，不管verbose是什么值
            // #自动删除未被使用的webpack资源#cleanOnceBeforeBuildPatterns打包前做的一些事，
            // #忽略掉不需要删除的文件，相当于exclude,被忽略的文件需要在开头加上 "!"号，
            // 数组中必须带有"**/*"通配符#否则dist下的文件都不会被删除
            // # 删除指定文件/文件夹 path.resolve(__dirname, 'test6')
            cleanStaleWebpackAssets:true,
            cleanOnceBeforeBuildPatterns: [
                path.resolve(__dirname, 'test6'),
                "**/*", "!1.js", "!images",
                path.resolve(__dirname, 'test5')
            ],
        }),
        new HtmlWebpackPlugin({
            title:"管理输出"
        })
    ]
}
